package org.example.jdbc_study.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.jdbc_study.domain.dto.MyUserDto;
import org.example.jdbc_study.domain.po.MyUser;

import java.util.List;

/**
 * 用户Mapper
 *
 * @author 欧阳劲驰
 * @since 0.0.1
 */
@Mapper
public interface MyUserMapper {
    /**
     * 新增
     *
     * @param myUser po
     * @return 新增数量
     */
    int insert(MyUser myUser);

    /**
     * 查询全部字段
     *
     * @return po集合
     */
    List<MyUserDto> selectAll();

    /**
     * 根据id修改用户名和密码
     *
     * @param username 用户名
     * @param password 密码
     * @param id       id
     * @return 修改数量
     */
    int updateUsernameAndPasswordById(
            @Param("username") String username, @Param("password") String password,
            @Param("id") Long id
    );

    /**
     * 根据id删除
     *
     * @param id id
     * @return 删除数量
     */
    int deleteById(@Param("id") Long id);


}